ใบความร ท 1.2 เร อง การจ ดการฐานข อม ล การจ ดการฐานข อม ล หมายถ ง การจ ดการข อม ลร ปแบบหน ง ท ม การจ ดเก บท งค าข อม ลพร อม โครงสร างข อม ลไว ด วยก น โดยจ ดเก บข อม ลท จ าเป นท งหมดขององค กรไว ในแหล งเด ยว เพ อการใช งานร วมก น อย างม ประส ทธ ภาพ ฐานข อม ล ฐานข อม ล ค อ กล มข อม ลท ม ความส มพ นธ ก นและถ กเก บรวบรวมไว ในท เด ยวก นอย างเป นระบบ เพ อ น าไปใช ในว ตถ ประสงค อย างใดอย างหน งโดยกล มผ ใช ต งแต หน งกล มข นไป ต วอย างฐานข อม ลท เก ยวข องก บช ว ตประจ าว นท เห นช ด ค อ สม ดโทรศ พท ซ งแสดงรายช อผ ใช โทรศ พท โดยเร ยงล าด บตามช อและนามสก ล จาก ก-ฮ ว ธ ค นหาเบอร โทรศ พท ก ค อ ต องเร มต นท อ กษรต วแรก ของช อท ต องการแล วหาไปจนพบช อน น ถ าม ช อซ าก นก ต องไปหาท นามสก ลต อไปอ กจนกว าจะได ช อและ นามสก ลท ต องการ ในทางกล บก นถ าจะค นหาช อจากเบอร โทรศ พท หร อนามสก ล หร อจากท อย ถ าค นหาด วย ม อ อาจต องหาจากสม ดโทรศ พท ท งเล มซ งใช เวลานานมาก แต ถ าน าโปรแกรมจ ดการฐานข อม ลมาช วยจ ดเก บ ข อม ลลงในคอมพ วเตอร จะช วยให ค นหาข อม ลได อย างรวดเร ว นอกจากน การบ าร งร กษาฐานข อม ลไม ว าจะ เป นการเพ ม ลบ หร อแก ไขข อม ล จะท าได ง ายข นด วย ร ปท 1.1 แสดงโครงสร างข อม ลท น ามาประมวลผลด วยคอมพ วเตอร บ ต (Bit) ย อมาจาก Binary digit เป นหน วยข อม ลท เล กท ส ด แทนด วยเลขฐานสอง (0 หร อ 1) ไบต (Byte) ค อกล มของบ ตท แทนต วอ กษร ต วเลข หร อส ญล กษณ พ เศษ 1 ต ว (character) เช น รห ส ASCII 1 ไบต ซ งเก บบ ต 01000001 จะหมายถ งต วอ กษร A ฟ ลด (Field) หร อเขตข อม ล หมายถ งกล มของต วอ กษร ต วเลข หร อส ญล กษณ พ เศษท น ามารวมก น แล วม ความหมาย เช น ฟ ลด ช อส นค า เก บกล มต วอ กษรท แสดงช อส นค า ฟ ลด ราคาส นค า เก บกล มต ว เลขท แสดงราคาส นค าต อหน วย เป นต น ความร เบ องต นเก ยวก บฐานข อม ล -1-
เรคอร ด (Record) หร อระเบ ยนข อม ล ประกอบด วยกล มของฟ ลด ท ม ความส มพ นธ ก น เช น เรคอร ด พน กงานจะม ฟ ลด รห สพน กงาน ช อ นามสก ล แผนก ต าแหน ง สถานภาพสมรส ว นเข าท างาน ท อย และอ นๆ โดย 1 เรคอร ดจะเก บข อม ลพน กงาน 1 คน ในฟ ลด เด ยวก นของท กๆเรคอร ดจะต องเก บ ข อม ลชน ดเด ยวก น เช น ฟ ลด ช อพน กงาน จะเก บข อม ลต วอ กษรเท าน น ส วนฟ ลด ว นเข าท างาน จะ เก บข อม ล ว น/เด อน/ป ท เข าท างานของพน กงานแต ละคน เป นต น ไฟล (File) หร อแฟ มข อม ล ค อกล มเรคอร ดหลายๆเรคอร ดท เก บข อม ลซ งเป นเร องเด ยวก น เช น ไฟล ข อม ลพน กงาน ไฟล ข อม ลล กค า ไฟล ข อม ลการส งซ อส นค า ไฟล ข อม ลส นค า เป นต น ต วอย างไฟล ข อม ลท ประกอบด วยเรคอร ดพน กงานท งหมดในบร ษ ทแห งหน ง โดยแต ละเรคอร ดจะม ฟ ลด รห ส ช อ นามสก ล ท อย จ งหว ด และรห สไปรษณ ย ร ปท 1.2 แสดงช อฟ ลด และเรคอร ด ความส าค ญของฐานข อม ล ย คแรกท น าระบบคอมพ วเตอร มาใช ประมวลผลข อม ลน น โครงสร างการจ ดเก บข อม ลในเคร องย งม ล กษณะคล ายคล งก บการจ ดเก บข อม ลในกระดาษ ค อ ข อม ลแต ละประเภทถ กเก บแยกก นในล กษณะของไฟล หร อแฟ มข อม ล โดยแต ละแผนกหร อหน วยงานจะเก บข อม ลและม โปรแกรมของตนเองท ใช ด งข อม ลจากไฟล ต างๆมาประมวลผล ความร เบ องต นเก ยวก บฐานข อม ล -2-
ร ปท 1.3 แสดงระบบการจ ดเก บข อม ลในล กษณะไฟล หร อแฟ มข อม ล แผนภาพแสดงระบบการจ ดเก บข อม ลของบร ษ ทแห งหน ง จะเห นว าแต ละแผนกเก บข อม ลของต วเอง ไว ในไฟล ท แยกจากก นท าให ม ข อม ลบางส วยซ าก น ต วอย างเช น ไฟล ข อม ลพน กงาน ของแผนกบ คคล จะเก บ ข อม ลของพน กงานท กคนในบร ษ ท จ งม ข อม ลพน กงานขายอย ด วย ท าให ซ าก บข อม ลใน ไฟล ข อม ลพน กงาน ขายของแผนกการตลาด ส วนไฟล ข อม ลส นค าคงคล งของแผนการตลาดและแผนกจ ดซ อจะม ข อม ลเหม อนก น เป นต น โดยแต ละแผนกจะด งข อม ลจากไฟล มาประมวลผลและออกรายงานโดยใช โปรแกรมของต วเอง ข อด ในการประมวลผลแบบไฟล ข อม ล ค อ แต ละแผนกสามารถเข ยนโปรแกรมประมวลผลข อม ลในร ปแบบท ต องการได อย างอ สระ การด งข อม ลมาใช ท าได อย างรวดเร วเน องจากต างคนต างเก บ ลดต นท นในส วนของการวางระบบคอมพ วเตอร เน องจากข อม ลท เก บเป นข อม ลท ใช งานในฝ าย เท าน น จ งไม ม ความซ บซ อนจนต องใช ระบบการจ ดการข อม ลท ม ประส ทธ ภาพส งมาก ส าหร บข อเส ยในการประมวลผลแบบน ก ค อ เก ดความซ าซ อนของข อม ล (Redundancy) ซ งจะน าไปส ป ญหาความข ดแย งของข อม ล (Data Inconsistency) ในภายหล งได ถ าม การแก ไขข อม ลในไฟล หน ง แต ไม ได แก ไขข อม ลน นในไฟล อ นๆด วย เก ดความไม เป นอ สระของข อม ล (Data Dependency) เพราะโปรแกรมท ใช ในแต ละแผนกจะ ผ กพ นก บโครงสร างการจ ดเก บและว ธ เร ยกใช ข อม ล ถ าเปล ยนแปลงโครงสร างการจ ดเก บข อม ล โปรแกรมท กโปรแกรมท เร ยกใช ไฟล ข อม ลน นจะต องถ กแก ไขด วย ซ งอาจเก ดข อผ ดพลาดได ไม ม การควบค มจากศ นย กลาง เน องจากแต ละแผนก สามารถเร ยกใช ข อม ลได อย างอ สระ โดยไม ต องผ านการด แลจากศ นย กลาง จ งไม สามารถควบค มส ทธ ในการเข าใช ข อม ลของผ ใช แต ละคนให เป นมาตรฐานเด ยวก น ความร เบ องต นเก ยวก บฐานข อม ล -3-
จากป ญหาข างต น จ งได ม การพ ฒนาระบบฐานข อม ล เพ อรวบรวมข อม ลท ม ความส มพ นธ ก น แต แยกก นอย แต ละไฟล มาเก บไว ท เด ยวด น เพ อให แต ละแผนกสามารถเข าถ งและใช ข อม ลร วมก นได การด แล ร กษาระบบงานและปร บปร งข อม ลให ม ความถ กต องและท นสม ยอย เสมอจะท าได ง ายข น เพราะข อม ลไม อย กระจ ดกระจาย สามารถเร ยกใช ข อม ลได ท นท ท ต องการ ช วยให ผ บร หารวางแผนและต ดส นใจได อย างรวดเร ว และท นต อสถานการณ การออกแบบฐานข อม ลท ด น น ผ ออกแบบต องจ ดกล มและแยกประเภทข อม ลท จะน ามาใช โดยให ข อม ลแต ละกล มม ความซ าซ อนก นน อยท ส ด (ด รายละเอ ยดในห วข อ การท า Normalization) เพ อให ฐานข อม ลม ขนาดเล กท ส ด แต ในขณะเด ยวก นก ได ความหมายมากท ส ดเช นก น ผ ออกแบบต องสามารถก าหนด ความส มพ นธ ระหว างกล มข อม ลต างๆได ซ งความส มพ นธ น เองจะเป นจ ดเร มต นท น าไปส การพ ฒนาเป นระบบ ฐานข อม ล องค ประกอบของระบบฐานข อม ล ระบบฐานข อม ลม กจะน าเอาระบบคอมพ วเตอร มาช วยในการจ ดเก บฐานข อม ลเพ อให ท นต อความ ต องการในการใช งาน สะดวก รวดเร ว และถ กต องม ความเช อถ อได โดยม ซอฟท แวร หร อโปรแกรมระบบ จ ดการฐานข อม ล องค ประกอบของระบบฐานข อม ล แบ งออกเป น 4 องค ประกอบด งต อไปน 1. ฮาร ดแวร (Hardware) 2. ซอฟท แวร (Software) 3. ข อม ล (Data) 4. บ คลากร (Personal) 1. ฮาร ดแวร (Hardware) หมายถ ง เคร องคอมพ วเตอร อ ปกรณ เก บข อม ลหร อหน วยเก บข อม ล เช นฮาร ดด สก และอ ปกรณ อ นๆท ต อก บเคร องคอมพ วเตอร สามารถจ บต องได 2. ซอฟต แวร (Software) ค อ โปรแกรมท จ ดการเก ยวก บฐานข อม ล โดยปกต แล วจะเร ยกว า ระบบจ ดการฐานข อม ล หร อ Database Management System : DBMS ส วนน จะท าหน าท เช อมต อ ระหว างข อม ลก บผ ใช เป าหมายของระบบจ ดการฐานข อม ล เพ อช วยให การพ ฒนาโปรแกรมสามารถใช งานได ง ายข น รวดเร วข น ม ความถ กต อง และลดค าใช จ าย ระบบจ ดการฐานข อม ลม ต งแต ระด บมาตรฐานท ม ครบ ตามสถาป ตยกรรม ISO ม ระบบด แลความปลอดภ ยท ม ความสามารถส ง ม ระบบควบค มความถ กต อง ม ความ เป นอ สระของข อม ล ด แลการใช ข อม ลร วมก นในเวลาเด ยวก น ม ระบบส ารองข อม ลและการฟ นสภาพท ม ประส ทธ ภาพเป นต น ระบบจ ดการฐานข อม ลท ใช ก นในป จจ บ นจะน าเสนอความส มพ นธ ระหว างข อม ลใน ร ปแบบของตาราง (relation) ซ งใช ง ายเน องจากโครงสร างข อม ลไม สล บซ บซ อนและม ภาษาท เหมาะสม 3. ข อม ล (Data) หมายถ ง ข อม ลท ถ กเก บไว ในระบบฐานข อม ล รวมถ งความส มพ นธ ระหว างข อม ล การจ ดเก บข อม ลควรเก บรวมแฟ มข อม ลต างๆไว ด วยก น โดยม ว ตถ ประสงค เพ อลดความซ าซ อนของข อม ลท ถ ก เก บในแฟ มข อม ลต างๆ ให มากท ส ดเท าท จะสามารถท าได ซ งผ ใช หลายๆ คน สามารถเร ยกใช หร อด งข อม ลช ด เด ยวก นได ณ เวลาเด ยวก น หร อ ต างเวลาก นได 4. บ คลากร (Personal) ได แก บ คคลต างๆ ท เก ยวข องก บระบบฐานข อม ล ม ด งน 4.1 ผ ใช ท วไป (User) เป นบ คลากรท ใช ข อม ลจากระบบฐานข อม ลเพ อใช งานส าเร จล ล วงได 4.2 พน กงานปฏ บ ต การ (Operator) เป นผ ปฏ บ ต การด านการประมวลผล การป อนข อม ลเข า ความร เบ องต นเก ยวก บฐานข อม ล -4-
เคร องคอมพ วเตอร 4.3 น กว เคราะห และออกแบบระบบ (System Analyst) เป นบ คลากรท ท าหน าท ว เคราะห ออกแบบฐานข อม ล และออกแบบระบบงานท จะน ามาใช 4.4 ผ เข ยนโปรแกรมประย กต ใช งาน (Programmer) เป นผ ท าหน าท เข ยนโปรแกรม ประย กต ใช งานต างๆ เพ อให การจ ดเก บ การเร ยกใช ข อม ลเป นไปตามความต องการของผ ใช 4.5 ผ บร หารฐานข อม ล (Database Administrator : DBA) เป นบ คลากรท ม หน าท ควบค ม และบร หารทร พยากรฐานข อม ลขององค กร ควรม ความร ท งหล กการบร หารและด านเทคน คของระบบ จ ดการฐานข อม ล เน องจากผ บร หารฐานข อม ลจะท าหน าท เป นท ปร กษาและประสานงานก บเจ าหน าท ฝ าย ปฏ บ ต การ เช น น กว เคราะห และออกแบบระบบ โปรแกรมเมอร และผ ใช เพ อให การบร หารระบบ ฐานข อม ลเป นไปอย างม ประส ทธ ภาพ ร ปท 1.4 แสดงความส มพ นธ ระหว างองค ประกอบของระบบฐานข อม ล ข อด ของการน าระบบฐานข อม ลมาใช ลดป ญหาความซ าซ อนก นของข อม ล เน องจากข อม ลท งหมดจะถ กเก บไว ท เด ยวก น ไม ได แยกไว คน ละท เหม อนในระบบไฟล ข อม ล ถ าจ าเป นต องเก บข อม ลต วเด ยวก นไว มากกว า 1 ท (มากกว า 1 Table) เช น ต องเก บรห สล กค าไว ใน Table ล กค าและ Table การส งซ อ เพ อให ทราบว าม ล กค าราย ไดบ างท ส งซ อส นค า ในกรณ น DBMS จะท าหน าท ตรวจสอบได ว าม ข อม ลใดบ างท ซ าซ อนก นและถ ก เก บไว ท ใดบ าง ลดป ญหาความข ดแย งก นของข อม ล จากการท ข อม ลม ความซ าซ อนก นน อยลง ท าให ลดป ญหาการ เก บข อม ลต วเด ยวก นแต ค าไม ตรงก น และถ าม การแก ไขข อม ลใน Table ใด DBMS จะสามารถ ความร เบ องต นเก ยวก บฐานข อม ล -5-
ควบค มให ข อม ลต วเด ยวก นน นท อย ใน Table อ นๆถ กแก ไขให ตรงก นท งหมดได โดยผ ใช ไม ต องตาม ไปแก ไขด วยต วเอง สามารถควบค มการคงสภาพความถ กต องของข อม ล หมายถ ง ความถ กต องท สอดคล องและ สมเหต สมผลตรมเง อนไขท ก าหนดไว เช น ถ าก าหนดให ราคาส นค าเป นค าต ดลบไม ได เม อผ ใช ป อน ข อม ลราคาส นค า DBMS จะตรวจสอบว าข อม ลท ป อนเข าไปน นตรงตามกฎเกณฑ น หร อไม ถ าไม ตรงก น ก จะแสดงข อผ ดพลาดให ทราบ และไม บ นท กข อม ลน นลงฐานข อม ลจนกว าผ ใช จะแก ไขให ถ กต อง ท าให เก ดความเป นอ สระของข อม ล เน องจากโปรแกรมท เข ยนข นมา ไม ต องย ดต ดก บโครงสร างการ จ ดเก บและว ธ เร ยกใช ข อม ลอ กต อไป ท าให การปร บปร งโครงสร างข อม ลในระยะยาวท าได ง ายข น โดย ไม ต องก งวลก บการแก ไขโปรแกรมให สอดคล องก บโครงสร างข อม ลน น หร อถ าจ าเป นต องแก ไขก จะไม ย งยากและไม ม ข อจ าก ดมากเหม อนในระบบไฟล ข อม ล ท าให สามารถใช ข อม ลร วมก นได ถ าฐานข อม ลม ความสมบ รณ และครบถ วน จะช วยให โปรแกรมท เข ยนข นสามารถด งข อม ลมาใช ได โดยไม ต องแก ไขโครงสร างข อม ล หร อถ าจะต องแก ไขก เพ ยง เล กน อยเท าน น ข อม ลม ความเป นมาตรฐาน เน องจากสามารถก าหนดชน ดและร ปแบบของข อม ลต วเด ยวก นให เหม อนก นได ไม ว าจะเก บไว ท ส วนใดของฐานข อม ล ท าให การน าข อม ลไปใช หร อแลกเปล ยนระหว าง ฐานข อม ลท าได ง ายข น สามารถตอบสนองความต องการของผ ใช ได อย างม ประส ทธ ภาพ ผ บร หารฐานข อม ล (DataBase Administrator : DBA) ซ งควบค มและบร หารระบบฐานข อม ล สามารถจ ดการฐานข อม ลเพ อ ตอบสนองให บร การต อผ ใช โดยส วนรวมได อย างม ประส ทธ ภาพ เช น เก บข อม ลท ม ความส าค ญและถ ก เร ยกใช อย เสมอไว ในส อท ม ความเร วส งเพ อให เร ยกใช ได อย างรวดเร วเป นต น สามารถสร างระบบความปลอดภ ยให ก บ DBA สามารถก าหนดส ทธ การเข าใช ฐานข อม ลให ก บผ ใช แต ละคนในระด บต างๆ เช น ก าหนดว าจะอน ญาตให ใครเข าไปใช ฐานข อม ลได บ าง และสามารถใช งานได ในระด บใด เช น ให เร ยกด ข อม ลและแก ไขได หร อให เร ยกด ข อม ลได อย างเด ยวแต แก ไขไม ได เป นต น ความร เบ องต นเก ยวก บฐานข อม ล -6-